<?php 
/**
 * 前台用户表模型
 */
class UserModel extends Model{
	public $table = 'user';
	//自动验证
	public $validate = array(
	
		array('username','nonull','用户名不能为空',2,3),
		array('password','nonull','密码不能为空',2,3),
		array('code','nonull','验证码不能为空',2,3)
	);
	//验证用户名 必须email或者phone
	public function userCheck(){
		//email检测
		$use = Q('post.username');
		//正则判断
		if(preg_match('/[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+/is', $use) || preg_match('/^13[\d]{9}$|14^[0-9]\d{8}|^15[0-9]\d{8}$|^18[0-9]\d{8}$/', $use)){
			return true;
		}else{
			$this->error = '用户名必须是邮箱或者手机号';
			return false;
		}
		
	}
//	//自动完成
//	public $auto = array(
//		array('restime','time','function',2,1)
//	
//	);
//	
	/**
	 * 注册
	 */
	public function register($data){
		//执行自动验证
		if(!$this->create()) return false;
		//验证码是否正确
		if($_SESSION['code'] != Q('post.code','','strtoupper')){
			$this->error = '验证码不正确';
			return false;
		}
		
		$this->add($data);
		return true;
	}
	
	/**
	 * 登录
	 */
	public function login(){
		$this->validate = array(
			array('username','nonull','用户名不能为空',2,2),
			array('password','nonull','密码不能为空',2,2)
		);
		$this->auto = array(
			array('login','time','function',2,2),
		);
		//执行自动验证
		if(!$this->create()) return false;
		//执行检测用户名
		if(!$this->userCheck()) return false;
		$user = Q('post.username');
		$password = Q('post.password','','md5');
		$userInfor = $this->where("username='{$user}'")->find();
		if(!$userInfor){
			$this->error = '账号不存在';
			return false;
		}else if($userInfor['password']!=$password){
			$this->error = '密码不正确';
			return false;
		}

		return $userInfor;
	}
	
	
}









 ?>